package com.hlkj.baojin.entity;

import com.hlkj.baojin.entity.dto.MonitorDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import java.util.List;

/**
 * @author HULIN
 * @created with: baojin
 * @package com.hlkj.baojin.entity
 * @description:
 * @date 2018/12/17 10:22
 * @modified By:
 * @Copyright © 2018 HAILIANG Info. Tech Ltd. All rights reserved.
 */
@Document
@Getter
@Setter
public class Device {

    @Id
    private String id;

    /**
     * 所属企业
     */
    private String belongCompany;

    private String belongCompanyName;

    /**
     * 厂区
     */
    private String companyArea;

    /**
     * 厂区名称
     */
    private String companyAreaName;

    /**
     * 监控对象
     */
    private String monitorObject;

    /**
     * 监控物品
     */
    private String monitorArticle;

    /**
     * 设备类型 0.储量 1.温度 2.泄漏量 3.液位
     */
    private Integer monitorType;

    /**
     * 安全值下限
     */
    private Double safeValueDown;

    /**
     * 安全值上限
     */
    private Double getSafeValueUp;

    /**
     * 预警值下限
     */
    private Double earlyAlarmValueDown;

    /**
     * 预警值上限
     */
    private Double earlyAlarmValueUp;

    /**
     * 索引编号
     */
    private String indexNum;

    /**
     * 技术说明书
     */
    private List<String> techManual;

    /**
     * 应急方案
     */
    private List<String>  emergencyPlan;

    /**
     *  备注
     */
    private String remark;

    /**
     * 录入人id
     */
    private String createMan;

    /**
     * 创建时间
     */
    private Long createTime;

    /**
     * 修改人id
     */
    private String updateMan;

    /**
     * 修改时间
     */
    private Long updateTime;

    /**
     * 软删 0.正常 1.删除 默认0
     */
    private Integer delete;

    /**
     * 状态 0:使用中, 1:故障
     */
    private Integer status;

    /**
     * 监控
     */
    private List<MonitorDto> monitorDtoList;

    public Device() {
        super();
    }

    public Device(String id, Integer status, Long updateTime) {
        this.id = id;
        this.status = status;
        this.updateTime = updateTime;
    }

    public Device(String createMan, Long createTime, Integer status, Integer delete) {
        this.createMan = createMan;
        this.createTime = createTime;
        this.status = status;
        this.delete = delete;
    }

    public Device(String id, String updateMan, Long updateTime, Integer delete) {
        this.id = id;
        this.updateMan = updateMan;
        this.updateTime = updateTime;
        this.delete = delete;
    }

}
